/* $NoKeywords:$ */
/**
 * @file
 *
 * AMD Family_10 Microcode patch.
 *
 * Fam10 Microcode Patch rev 010000D9 for 1081 or equivalent.
 *
 * @xrefitem bom "File Content Label" "Release Content"
 * @e project:      AGESA
 * @e sub-project:  CPU/Family/0x10/RevD
 * @e \$Revision: 60726 $   @e \$Date: 2011-10-20 17:08:02 -0600 (Thu, 20 Oct 2011) $
 */
/*****************************************************************************
 *
 * Copyright 2008 - 2012 ADVANCED MICRO DEVICES, INC.  All Rights Reserved.
 *
 * AMD is granting you permission to use this software (the Materials)
 * pursuant to the terms and conditions of your Software License Agreement
 * with AMD.  This header does *NOT* give you permission to use the Materials
 * or any rights under AMD's intellectual property.  Your use of any portion
 * of these Materials shall constitute your acceptance of those terms and
 * conditions.  If you do not agree to the terms and conditions of the Software
 * License Agreement, please do not use any portion of these Materials.
 *
 * CONFIDENTIALITY:  The Materials and all other information, identified as
 * confidential and provided to you by AMD shall be kept confidential in
 * accordance with the terms and conditions of the Software License Agreement.
 *
 * LIMITATION OF LIABILITY: THE MATERIALS AND ANY OTHER RELATED INFORMATION
 * PROVIDED TO YOU BY AMD ARE PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED
 * WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
 * MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR PURPOSE,
 * OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR USAGE OF TRADE.
 * IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER
 * (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS
 * INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE,
 * GROSS NEGLIGENCE, THE USE OF OR INABILITY TO USE THE MATERIALS OR ANY OTHER
 * RELATED INFORMATION PROVIDED TO YOU BY AMD, EVEN IF AMD HAS BEEN ADVISED OF
 * THE POSSIBILITY OF SUCH DAMAGES.  BECAUSE SOME JURISDICTIONS PROHIBIT THE
 * EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES,
 * THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
 *
 * AMD does not assume any responsibility for any errors which may appear in
 * the Materials or any other related information provided to you by AMD, or
 * result from use of the Materials or any related information.
 *
 * You agree that you will not reverse engineer or decompile the Materials.
 *
 * NO SUPPORT OBLIGATION: AMD is not obligated to furnish, support, or make any
 * further information, software, technical information, know-how, or show-how
 * available to you.  Additionally, AMD retains the right to modify the
 * Materials at any time, without notice, and is not obligated to provide such
 * modified Materials to you.
 *
 * U.S. GOVERNMENT RESTRICTED RIGHTS: The Materials are provided with
 * "RESTRICTED RIGHTS." Use, duplication, or disclosure by the Government is
 * subject to the restrictions as set forth in FAR 52.227-14 and
 * DFAR252.227-7013, et seq., or its successor.  Use of the Materials by the
 * Government constitutes acknowledgement of AMD's proprietary rights in them.
 *
 * EXPORT ASSURANCE:  You agree and certify that neither the Materials, nor any
 * direct product thereof will be exported directly or indirectly, into any
 * country prohibited by the United States Export Administration Act and the
 * regulations thereunder, without the required authorization from the U.S.
 * government nor will be used for any purpose prohibited by the same.
 *
 ***************************************************************************/



/*----------------------------------------------------------------------------------------
 *                             M O D U L E S    U S E D
 *----------------------------------------------------------------------------------------
 */
#include "AGESA.h"
#include "cpuRegisters.h"
#include "cpuEarlyInit.h"
CODE_GROUP (G1_PEICC)
RDATA_GROUP (G2_PEI)

/*----------------------------------------------------------------------------------------
 *                   D E F I N I T I O N S    A N D    M A C R O S
 *----------------------------------------------------------------------------------------
 */

/*----------------------------------------------------------------------------------------
 *                  T Y P E D E F S     A N D     S T R U C T U R E S
 *----------------------------------------------------------------------------------------
 */


// Patch code 010000d9 for 1081 and equivalent
CONST MICROCODE_PATCHES ROMDATA CpuF10MicrocodePatch010000d9 =
{{
  0x11,
  0x20,
  0x12,
  0x10,
  0xd9,
  0x00,
  0x00,
  0x01,
  0x00,
  0x80,
  0x20,
  0x00,
  0x6e,
  0x87,
  0xd2,
  0xea,
  0x00,
  0x00,
  0x00,
  0x00,
  0x00,
  0x00,
  0x00,
  0x00,
  0x81,
  0x10,
  0x00,
  0x00,
  0x00,
  0xaa,
  0xaa,
  0xaa,
  0xa7,
  0x0b,
  0x00,
  0x00,
  0x14,
  0x0c,
  0x00,
  0x00,
  0x55,
  0x03,
  0x00,
  0x00,
  0x08,
  0x0a,
  0x00,
  0x00,
  0x51,
  0x03,
  0x00,
  0x00,
  0x0c,
  0x0e,
  0x00,
  0x00,
  0xc4,
  0x07,
  0x00,
  0x00,
  0x9a,
  0x0b,
  0x00,
  0x00,
  0x4f,
  0xdf,
  0x38,
  0x00,
  0x81,
  0x3f,
  0x20,
  0xc0,
  0x4e,
  0xf0,
  0xff,
  0xbf,
  0x0f,
  0xff,
  0x5e,
  0x3f,
  0xf0,
  0xdf,
  0xad,
  0x07,
  0x3d,
  0xf8,
  0x7b,
  0x7b,
  0x80,
  0x00,
  0xd4,
  0x00,
  0x13,
  0xf1,
  0xff,
  0xff,
  0xac,
  0xe1,
  0x1f,
  0xe0,
  0x4e,
  0xfe,
  0xbb,
  0xff,
  0xfe,
  0x87,
  0x7f,
  0xa7,
  0x03,
  0xf8,
  0x7f,
  0xd6,
  0x7c,
  0x1e,
  0xfa,
  0xbd,
  0x00,
  0xe0,
  0xff,
  0x7b,
  0x0e,
  0x00,
  0x3d,
  0x57,
  0xe0,
  0x73,
  0xd0,
  0x0f,
  0xff,
  0x2e,
  0xfe,
  0xff,
  0xc0,
  0xcf,
  0xc3,
  0x3f,
  0xeb,
  0x01,
  0xfc,
  0x77,
  0x5a,
  0x3e,
  0x0f,
  0xfd,
  0x35,
  0x00,
  0x90,
  0x3e,
  0xff,
  0x9f,
  0x00,
  0xfe,
  0x65,
  0x60,
  0x75,
  0xf8,
  0x9f,
  0xff,
  0x97,
  0xff,
  0x1f,
  0xe0,
  0xe7,
  0xe1,
  0x03,
  0xf5,
  0xde,
  0xff,
  0x7e,
  0x2c,
  0x9f,
  0x87,
  0xff,
  0x1e,
  0x00,
  0xf8,
  0x6f,
  0x95,
  0x03,
  0x50,
  0xf4,
  0x03,
  0xf8,
  0x1c,
  0x7f,
  0xe0,
  0x1f,
  0xc0,
  0xf0,
  0x0f,
  0xe0,
  0xdf,
  0xff,
  0x81,
  0x7f,
  0x00,
  0xc3,
  0x3f,
  0x80,
  0x7f,
  0x3c,
  0x40,
  0x0d,
  0x00,
  0x00,
  0xff,
  0xff,
  0x07,
  0x1f,
  0xde,
  0x9d,
  0x90,
  0xc4,
  0xff,
  0xff,
  0x5f,
  0x72,
  0xf8,
  0x23,
  0xca,
  0x80,
  0xff,
  0xc0,
  0x3f,
  0xbf,
  0xe1,
  0x1f,
  0xc0,
  0x00,
  0xfa,
  0xbf,
  0x07,
  0x00,
  0xbc,
  0x63,
  0xe2,
  0x86,
  0x0e,
  0xf8,
  0x00,
  0xe7,
  0xf0,
  0x5f,
  0xf9,
  0xb8,
  0x3c,
  0xec,
  0x73,
  0x9f,
  0xc2,
  0xff,
  0xe6,
  0xe1,
  0xf2,
  0xb0,
  0xcf,
  0x03,
  0x00,
  0x0d,
  0x50,
  0xff,
  0x1e,
  0xfe,
  0x2b,
  0x0f,
  0x97,
  0x87,
  0x7d,
  0xfc,
  0x5b,
  0xf8,
  0xdf,
  0x2d,
  0x5c,
  0x1e,
  0xf6,
  0xf3,
  0x6f,
  0xe1,
  0x3f,
  0xb7,
  0x70,
  0x79,
  0xd8,
  0xab,
  0x01,
  0x80,
  0x06,
  0xff,
  0xff,
  0x00,
  0xfd,
  0xbb,
  0x14,
  0xf2,
  0xc3,
  0x2f,
  0xf8,
  0x13,
  0xcc,
  0x7f,
  0x0c,
  0xb8,
  0x0e,
  0x74,
  0xf5,
  0x03,
  0xf0,
  0xf8,
  0x33,
  0x03,
  0x1c,
  0x2b,
  0xd7,
  0x00,
  0x00,
  0xeb,
  0xe5,
  0x1f,
  0x80,
  0xc0,
  0x1f,
  0x1b,
  0xe0,
  0x9e,
  0x9b,
  0x7f,
  0x00,
  0x03,
  0x7f,
  0x6c,
  0x80,
  0xf8,
  0x7d,
  0xfe,
  0x01,
  0x0e,
  0xfc,
  0xb1,
  0x01,
  0x80,
  0xd7,
  0x62,
  0x00,
  0xc0,
  0x9b,
  0x53,
  0x0e,
  0x75,
  0xe0,
  0x0f,
  0xe8,
  0x2f,
  0xff,
  0xa7,
  0xff,
  0xcf,
  0xc3,
  0x3f,
  0xc0,
  0xbd,
  0xff,
  0x07,
  0xea,
  0x3e,
  0x0f,
  0xfd,
  0x54,
  0x00,
  0x20,
  0x1f,
  0x32,
  0x1f,
  0xa0,
  0xff,
  0xff,
  0x22,
  0x3f,
  0x78,
  0x77,
  0x3f,
  0x80,
  0xff,
  0xe7,
  0x8b,
  0xfe,
  0xe0,
  0x5b,
  0xff,
  0x4d,
  0x0e,
  0xf8,
  0x80,
  0x9f,
  0x87,
  0x7f,
  0x19,
  0x00,
  0x90,
  0x00,
  0xe0,
  0x7f,
  0x02,
  0x00,
  0x03,
  0xfc,
  0x3c,
  0xfc,
  0xeb,
  0xff,
  0xca,
  0xff,
  0x0f,
  0xf0,
  0xf3,
  0xf0,
  0x04,
  0xfe,
  0x04,
  0x4c,
  0x2f,
  0x03,
  0xad,
  0xc3,
  0xa0,
  0x0c,
  0x00,
  0xe8,
  0x22,
  0xf0,
  0x27,
  0x90,
  0xfe,
  0x18,
  0x64,
  0x1d,
  0xff,
  0xe3,
  0xff,
  0xe4,
  0xf8,
  0x07,
  0xf8,
  0x79,
  0xff,
  0x40,
  0xbd,
  0xf3,
  0xa1,
  0x9f,
  0xca,
  0xe7,
  0xc8,
  0x48,
  0x06,
  0x00,
  0xbc,
  0x61,
  0xe5,
  0x00,
  0x07,
  0xfe,
  0x80,
  0x5e,
  0xc2,
  0xff,
  0xff,
  0x6f,
  0x3c,
  0xfc,
  0x03,
  0xfc,
  0xc9,
  0xf7,
  0xff,
  0xbf,
  0x7d,
  0xf0,
  0xcf,
  0x74,
  0x00,
  0x14,
  0x50,
  0x03,
  0x4d,
  0x02,
  0x00,
  0xfe,
  0xfe,
  0x83,
  0x7f,
  0xa6,
  0x6b,
  0xf9,
  0x6f,
  0xfe,
  0xee,
  0x0f,
  0xfe,
  0xb1,
  0xef,
  0xe4,
  0xbf,
  0xf9,
  0xba,
  0x3f,
  0xf8,
  0x77,
  0x01,
  0x80,
  0xff,
  0xef,
  0x3f,
  0x00,
  0xdf,
  0xdf,
  0x36,
  0xc0,
  0x81,
  0x3f,
  0xff,
  0xa3,
  0xdc,
  0xf4,
  0x00,
  0x3f,
  0x0f,
  0xff,
  0xf8,
  0x07,
  0xf0,
  0x1f,
  0x03,
  0xf8,
  0x37,
  0xfc,
  0xc5,
  0x00,
  0x80,
  0x63,
  0x67,
  0x3c,
  0x80,
  0xff,
  0x1f,
  0xca,
  0xe7,
  0xa1,
  0x9b,
  0x71,
  0x00,
  0xf6,
  0x7e,
  0x28,
  0x9f,
  0x87,
  0x5f,
  0xc6,
  0x01,
  0xb8,
  0xfa,
  0xa1,
  0x7c,
  0x1e,
  0xa0,
  0x64,
  0x00,
  0x60,
  0x99,
  0x80,
  0x3f,
  0xc1,
  0xf0,
  0xcb,
  0x40,
  0xeb,
  0xff,
  0x9d,
  0x7f,
  0x3f,
  0xc3,
  0xbe,
  0x87,
  0xdd,
  0xfc,
  0x67,
  0xfe,
  0xf9,
  0x0f,
  0xfb,
  0x16,
  0x76,
  0xf0,
  0xff,
  0x3b,
  0x00,
  0xf4,
  0x82,
  0xff,
  0x5f,
  0x79,
  0xf8,
  0xd7,
  0xfa,
  0x80,
  0xff,
  0x6c,
  0x3d,
  0xe0,
  0xc1,
  0x9f,
  0x18,
  0x00,
  0x86,
  0xbe,
  0x71,
  0xaf,
  0x07,
  0x7f,
  0x40,
  0x00,
  0xf8,
  0xff,
  0x1e,
  0x0f,
  0x20,
  0xfe,
  0xff,
  0x21,
  0x3f,
  0xbc,
  0x63,
  0x1f,
  0xc0,
  0x7f,
  0xe0,
  0xe0,
  0xdf,
  0xf0,
  0x0f,
  0x7f,
  0x00,
  0xff,
  0x81,
  0x80,
  0x7f,
  0xc3,
  0x3f,
  0x0f,
  0x00,
  0xfc,
  0x7f,
  0xff,
  0x67,
  0xf1,
  0xff,
  0x00,
  0xb6,
  0x1c,
  0xfe,
  0xff,
  0xff,
  0xc5,
  0xff,
  0xf7,
  0xfa,
  0x7f,
  0xf8,
  0xec,
  0xbf,
  0x97,
  0xff,
  0xdf,
  0xab,
  0xfa,
  0xe1,
  0xbf,
  0x07,
  0x00,
  0xfe,
  0x67,
  0xeb,
  0x00,
  0xec,
  0xfe,
  0xc4,
  0x00,
  0x0f,
  0xff,
  0xff,
  0xcf,
  0x02,
  0xfc,
  0x63,
  0xdd,
  0x3f,
  0xff,
  0xf7,
  0x5f,
  0xcb,
  0xf0,
  0x8e,
  0x55,
  0xff,
  0xff,
  0xdf,
  0x03,
  0x00,
  0xfe,
  0xb7,
  0xff,
  0x58,
  0x87,
  0x3f,
  0xac,
  0x2c,
  0x39,
  0xe0,
  0xff,
  0x17,
  0x1e,
  0xfe,
  0x01,
  0x7e,
  0xe0,
  0xbf,
  0x18,
  0x0f,
  0x3a,
  0xf0,
  0x27,
  0xf6,
  0x80,
  0xff,
  0xef,
  0x01,
  0xa2,
  0x6b,
  0xfc,
  0xff,
  0xcf,
  0xc3,
  0x3f,
  0xd1,
  0xb3,
  0x8c,
  0xff,
  0xff,
  0xd7,
  0x0f,
  0xff,
  0x58,
  0xff,
  0x32,
  0xfe,
  0xff,
  0x5d,
  0x3f,
  0xfc,
  0x7b,
  0x00,
  0xc0,
  0xff,
  0xf7,
  0x3d,
  0x80,
  0xff,
  0x6d,
  0x18,
  0xe0,
  0xc1,
  0x9f,
  0xff,
  0x00,
  0xfe,
  0xb3,
  0x2d,
  0xfa,
  0x87,
  0x6f,
  0xff,
  0x27,
  0xf8,
  0xff,
  0x19,
  0x6c,
  0x1d,
  0x7e,
  0x24,
  0x00,
  0xc0,
  0x00,
  0xff,
  0xbf,
  0xcb,
  0xf8,
  0x0f,
  0x70,
  0xd6,
  0xf0,
  0xdd,
  0x7f,
  0x2d,
  0xff,
  0xbf,
  0xd6,
  0xff,
  0xc3,
  0x7f,
  0xff,
  0x01,
  0xfc,
  0xdf,
  0x5a,
  0xf4,
  0x0f,
  0xff,
  0x3d,
  0x00,
  0xf0,
  0x3f,
  0xf0,
  0xaf,
  0xe5,
  0xf8,
  0xd5,
  0xba,
  0x72,
  0xff,
  0x6d,
  0x3d,
  0x80,
  0xa1,
  0x9f,
  0xc8,
  0xe7,
  0xca,
  0x07,
  0xfc,
  0x09,
  0x87,
  0x5f,
  0x06,
  0x5b,
  0xf8,
  0xff,
  0x1e,
  0x00,
  0xf0,
  0xbf,
  0xad,
  0x07,
  0x3c,
  0xf8,
  0x13,
  0x03,
  0xc0,
  0x7f,
  0xe0,
  0x1f,
  0xff,
  0xf0,
  0xad,
  0x45,
  0x04,
  0xe6,
  0x03,
  0xfe,
  0xad,
  0xc3,
  0x2f,
  0x83,
  0x00,
  0x0c,
  0x80,
  0x04,
  0x01,
  0x58,
  0xe0,
  0xc6,
  0x01,
  0x1e,
  0xfc,
  0x01,
  0x1f,
  0x40,
  0xfc,
  0xff,
  0x42,
  0x7e,
  0x78,
  0xe7,
  0x7f,
  0x82,
  0x1d,
  0x07,
  0x01,
  0xd7,
  0xe1,
  0x8f,
  0x07,
  0x00,
  0xfe,
  0xbf,
  0xfc,
  0xbb,
  0x00,
  0x00,
  0x5c,
  0xf7,
  0x0f,
  0xff,
  0xf0,
  0x9f,
  0x32,
  0x20,
  0x03,
  0xfc,
  0x3c,
  0xfc,
  0xff,
  0x7f,
  0xca,
  0xf9,
  0x2f,
  0x75,
  0x7d,
  0xf0,
  0x5e,
  0x03,
  0x00,
  0x3d,
  0xbb,
  0xff,
  0x52,
  0xff,
  0x7f,
  0xa9,
  0x9f,
  0x87,
  0xff,
  0xff,
  0x77,
  0x79,
  0xfe,
  0x01,
  0x7e,
  0x1e,
  0xbf,
  0xbb,
  0x0f,
  0xf0,
  0xe8,
  0x97,
  0xf2,
  0x79,
  0xff,
  0xef,
  0x01,
  0x80,
}};

/*----------------------------------------------------------------------------------------
 *           P R O T O T Y P E S     O F     L O C A L     F U N C T I O N S
 *----------------------------------------------------------------------------------------
 */

/*----------------------------------------------------------------------------------------
 *                          E X P O R T E D    F U N C T I O N S
 *----------------------------------------------------------------------------------------
 */
